package com.qf.controller;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/*
    当我们的服务器启动后，会自动创建DispatcherServlet，配置的访问路径是/，那么所有浏览器过来的后续访问都会被这个Servlet处理（除了jsp资源之外） -- 前端控制器
    当DispatcherServlet对象被创建时，会去加载springmvc.xml文件，这个文件中配置了<mvc:annotation-driven/>（mvc注解驱动）,会向spring容器中注入一个对象-RequestMappingHandlerMapping对象
        RequestMappingHandlerMapping对象在初始化时，会去读取RequestMapping注解标注的方法，并且将读取到的信息存储在内部的Map集合，Map的结构是：key-路径，value-对象.方法
        其中这个RequestMappingHandlerMapping就是我们说的处理器映射器。
    当DispatcherServlet对象被创建时，会去加载springmvc.xml文件，这个文件中配置了<mvc:annotation-driven/>（mvc注解驱动），还会向spring容器中注入一个RequestMappingHandlerAdapter对象
        后期访问资源时，最终处理器器的调用，是通过这个处理器适配器完成的
    处理器：所有被RequestMapping标注的方法都称之为处理器
    处理器方法执行完后，返回的这字符串会被视图解析器获取到，并且根据字符串到项目中找对应的资源，并向页面做出响应。
 */

@Controller //标识这个是一个处理器类
public class UserController {

    @RequestMapping("/demo") //配置处理器方法的访问路径
    public String demo(){
        System.out.println("hello springmvc~~");
        return "res1";
    }

    @RequestMapping("/demo2") //配置处理器方法的访问路径
    public String demo2(){
        System.out.println("hello springmvc22222~~");
        return "res2";
    }

    @RequestMapping("/demo3") //配置处理器方法的访问路径
    public String demo3(){
        System.out.println("hello springmvc33333~~");

//        return "redirect:/WEB-INF/html/res1.html";  //进行重定向跳转
        return "forward:/WEB-INF/html/res1.html";  //进行转发向跳转，如果带了forward前缀，路径必须写完整，视图解析器不会再进行处理
    }
}
